package com.example.demo.domain.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.example.demo.domain.base.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 购物车实体类
 *
 * @author haochen78
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("shopping_cart")
public class ShoppingCartDO extends BaseDO {

    /** 用户ID */
    private Long userId;

    /** 商品ID */
    private Long productId;

    /** SKU ID */
    private Long skuId;

    /** 所属店铺ID */
    private Long shopId;

    /** 商品分类ID */
    private Long categoryId;

    /** 商品名称（快照） */
    private String productName;

    /** SKU规格描述（快照） */
    private String skuDesc;

    /** 商品主图URL（快照） */
    private String picUrl;

    /** 单价（加入时的价格，含基础价） */
    private BigDecimal unitPrice;

    /** 购买数量 */
    private Integer quantity;

    /** 当前最大可购数量（用于前端提示库存紧张） */
    private Integer maxAvailableQuantity;

    /** 是否选中（0=未选中，1=已选中） */
    private Integer isSelected;

    /** 是否失效（0=有效，1=失效，如商品下架或库存不足） */
    private Integer isInvalid;

}